package io.joern.jssrc2cpg.passes

object GlobalBuiltins {

  val builtins: Set[String] = Set(
    "Buffer.from",
    "decodeURI",
    "decodeURIComponent",
    "encodeURI",
    "encodeURIComponent",
    "eval",
    "fetch",
    "isFinite",
    "isNaN",
    "JSON.parse",
    "JSON.stringify",
    "Number.isFinite",
    "Number.isInteger",
    "Number.isNaN",
    "Number.isSafeInteger",
    "Number.parseFloat",
    "Number.parseInt",
    "Number.prototype.toExponential",
    "Number.prototype.toFixed",
    "Number.prototype.toLocaleString",
    "Number.prototype.toPrecision",
    "Number.prototype.toSource",
    "Number.prototype.toString",
    "Number.prototype.valueOf",
    "parseFloat",
    "parseInt",
    "uneval",
    "Object.assign",
    "Object.create",
    "Object.defineProperties",
    "Object.defineProperty",
    "Object.entries",
    "Object.freeze",
    "Object.fromEntries",
    "Object.getOwnPropertyDescriptor",
    "Object.getOwnPropertyDescriptors",
    "Object.getOwnPropertyNames",
    "Object.getOwnPropertySymbols",
    "Object.getPrototypeOf",
    "Object.is",
    "Object.isExtensible",
    "Object.isFrozen",
    "Object.isSealed",
    "Object.keys",
    "Object.preventExtensions",
    "Object.prototype.__defineGetter__",
    "Object.prototype.__defineSetter__",
    "Object.prototype.__lookupGetter__",
    "Object.prototype.__lookupSetter__",
    "Object.prototype.hasOwnProperty",
    "Object.prototype.isPrototypeOf",
    "Object.prototype.propertyIsEnumerable",
    "Object.prototype.toLocaleString",
    "Object.prototype.toSource",
    "Object.prototype.toString",
    "Object.prototype.valueOf",
    "Object.seal",
    "Object.setPrototypeOf",
    "Object.values",
    "Promise.all",
    "Promise.allSettled",
    "Promise.any",
    "Promise.race",
    "Promise.reject",
    "Promise.resolve",
    "localStorage.setItem"
  )

}
